#include "estructuras.h"
#include <stdlib.h>
#include <stdio.h>

extern void crear_lista_huffman(unsigned int *tabla_apariciones, nodo_lista_t **l, nodo_arbol_t **indices_nodos_simbolos);
extern unsigned int *generar_tabla_apariciones(unsigned char *buf, unsigned int size);

int main(){
	unsigned int size = 10;
	unsigned char *buf = (unsigned char *)malloc(size);
	
	int i;
	for (i = 0; i<size/2; i++){
		buf[i] = 1;
	}
	
	for (i = size/2; i<size; i++){
		buf[i] = 2;
	}
	
	unsigned int *tabla_apariciones = generar_tabla_apariciones(buf, size);
	
	nodo_lista_t *lista_nodos;
	lista_nodos = NULL;
	
	nodo_arbol_t *indices_nodos[256];
	for (i=0;i<256;i++){
		indices_nodos[i] = NULL; //nuestra funcion la recibe en Null
	}
	
	crear_lista_huffman(tabla_apariciones, &lista_nodos, indices_nodos);
	
	//Mostrar Obtenido
	for (i=0;i<10;i++){
		//Contenido de tabla de apariciones
		printf ("Tabla de apariciones[%d] = ",i);
		printf ("%d \n" , tabla_apariciones[i]);
		
		//Contenido de lista de punteros
		printf ("Lista de punteros[%d] = ",i);
		printf ("%p \n \n" , indices_nodos[i]);
	}
	
	//Contenido de lista de nodos
	mostrar_lista(lista_nodos);
	
	return 0;
};
